package com.his.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.his.common.annotation.Excel;
import com.his.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * 挂号及退号对象 register
 * 
 * @author lixue
 * @date 2025-09-05
 */
@Data
public class Register extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 病历号 */
    @Excel(name = "病历号")
    private String caseNumber;

    /** 患者姓名 */
    @Excel(name = "患者姓名")
    private String realName;

    /** 性别（0：男，1：女） */
    @Excel(name = "性别", readConverterExp = "0=：男，1：女")
    private Long gender;

    /** 身份证号 */
    private String cardNumber;

    /** 出生日期 */
    private Date birthday;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 年龄类型（0:年/1:月/2:天） */
    @Excel(name = "年龄类型", readConverterExp = "0=:年/1:月/2:天")
    private Long ageType;

    /** 家庭住址 */
    private String homeAddress;

    /** 看诊日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "看诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitDate;

    /** 午别（上午/下午） */
    @Excel(name = "午别", readConverterExp = "上=午/下午")
    private String noon;

    /** 挂号科室 */
    @Excel(name = "挂号科室")
    private Long deptmentId;

    /** 挂号医生 */
    @Excel(name = "挂号医生")
    private Long employeeId;

    /** 挂号级别 */
    @Excel(name = "挂号级别")
    private Long registLevelId;

    /** 结算类别 */
    @Excel(name = "结算类别")
    private Long settleCategoryId;

    /** 是否需要病历本（0:否 1:是） */
    private Long isBook;

    /** 收费方式 */
    @Excel(name = "收费方式")
    private String registMethod;

    /** 挂号金额 */
    @Excel(name = "挂号金额")
    private Long registMoney;

    /** 看诊状态（0:未看诊/1:已看诊/2:已取消） */
    @Excel(name = "看诊状态", readConverterExp = "0=:未看诊/1:已看诊/2:已取消")
    private Long visitState;


}
